import Vue from 'vue'
import VuexPersist from 'vuex-persistedstate'
import fitlerRoutes from '../router/filterRoutes'
import routes from '../router/routes'
//导入vuex插件
import Vuex, {createLogger} from 'vuex'

//注册插件
Vue.use(Vuex)

//实例化插件
export default new Vuex.Store({
  state: { //负责存储数据
    userinfo:{}
  },
  getters: { //定义计算方法(类似组件中的计算属性)
    getRoutes(state){
      return fitlerRoutes( routes , state.userinfo.role.permissions );
    }
  },
  mutations: { //定义同步方法
    save_userinfo(state,params){
      state.userinfo = params;
    }
  },
  actions: { //定义异步方法

  },
  modules: { //定义模块, 实现模块化开发

  },
  plugins: [ //应用插件
    createLogger(),
    VuexPersist({ storage: window.localStorage })
  ] 
})
